// http://www.xiao100.com/Recruit
// 广东世纪晓教育科技有限公司


var spider = require('../../dao/spider');
var cheerio = require('cheerio');
var url_node = require('url');
var Iconv = require('iconv-lite');
var pinyin = require('node-pinyin');
var insertDB = require('../../dao/insert.db');
var utils = require('../../dao/utils');
var request = require('request');
var fs = require('fs');

const company = '广东世纪晓教育科技有限公司';
var index = 'http://www.xiao100.com/Recruit';

var url = "http://campus.51job.com/pxjy/job.html";



// 晓直播招聘官网

var url = "http://job.xiao100.com/zhaopin/index/cate/134/catepid/21/page/*PageReplace*";

var page = {
    curPage: 1,
    totalPage: 100
};


// spider.pageNext(url, page, callback);
module.exports = function (successCall) {
    spider.successCall = null;
    spider.successCall = successCall;
    spider.pageNext(url, page, callback);
};

function callback(err, body, _url) {
    if (err) {
        console.log(err);
        return;
    }

    var res;
    try {
        res = body.toString('utf-8');


        var $ = cheerio.load(res);

        dataInit($, _url);

        if ($('.page').find('a').eq(-1).attr('href') && page.totalPage == 100) {

            var p = $('.page').find('a').eq(-1).attr('href').split('page/')[1];
            page.totalPage = p;

            // spider.pageNext(url, page, callback);
        } else {

            if (page.totalPage == page.curPage) {
                console.log('xxxxxxxxxxxxxxxxxxxxxxxxxxx');
                spider.successCall(null, 'success');
                spider.successCall = function () {};
            }
        }
    } catch (e) {
        console.log(e);
    }




}


// page页数据处理
function dataInit($, url) {


    var jobs = $('.plan_bot.Campus ul');

    // 去头
    for (var i = 1; i < jobs.length; i++) {
        var item = jobs.eq(i).find('li');


        var temp = item.eq(3).text().replace('万', '');

        temp = temp.split('-');

        temp[0] = Math.ceil(temp[0] * 10000 / 12);
        temp[1] = Math.ceil(temp[1] * 10000 / 12);


        var data = {
            "url": item.eq(0).find('a').attr('href'), // jd详情页的地址
            'edu': '', // 最低学历
            'exp': [], // 所需工作经验，比如[3,5]表示3到5年,[3]表示3年，[]表示无经验要求
            'name': item.eq(0).find('a').text(), // 职位名称*
            'date': item.eq(5).text(), // 职位发布日期，字符串形式即可，后期统一转换
            'lang': '', // 对语言的要求
            'place': '', // 办公具体地址
            'major': '', // 专业要求
            'count': '', // 招聘数量
            'salary': temp, // 薪资待遇，[5000,8000]表示月薪5到8千，[4000]表示4千，[]表示没有写明
            'toSchool': true, // 是否是面向校园招聘，本次官网抓取一律都是校园招聘，所以此处都是True
            'welfare': [], // 福利待遇，比如五险一金、十三薪之类的，保存成数组
            'funType': '', // 职能类型，比如证券经纪人是证券/期货/外汇经纪人
            'company': company, // 企业名称
            'location': item.eq(4).text().replace(/、/gi, ','), // 所在城市
            'industry': '', // 企业所在行业
            'keywords': [], // 此岗位的搜索关键字 
            'platform': 'offical', // 针对官网抓取时此处一律保存为offical
            'searchKeyword': '', // 搜索的关键字，由于是官网抓取所以此处一律为空字符串
            'description': '', // 职位的详细描述，包括职责、要求之类的
            'subIndustry': '', // 一律为空字符串
            'stime': new Date() // 抓取时间
        };

        getDetail(data);

    }
}

function getDetail(data) {

    console.log(data['url']);
    request({
        url: data['url'],
        encoding: null
    }, function (err, res, body) {
        var res;
        try {
            res = body.toString('utf-8');
        } catch (e) {


        }
        // console.log(res);

        var $ = cheerio.load(res);
        console.log($('.position_box .left_b').text());
        data['description'] = utils.trim($('.position_box .left_b').text());

        insertDB(data);
    });
}